package com.quanyan.user.model.db;

import com.quanyan.common.Plugin.Page;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TbNewsDetailsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Page page;

    public TbNewsDetailsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setPage(Page page) {
        this.page=page;
    }

    public Page getPage() {
        return page;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUidIsNull() {
            addCriterion("uid is null");
            return (Criteria) this;
        }

        public Criteria andUidIsNotNull() {
            addCriterion("uid is not null");
            return (Criteria) this;
        }

        public Criteria andUidEqualTo(Integer value) {
            addCriterion("uid =", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotEqualTo(Integer value) {
            addCriterion("uid <>", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThan(Integer value) {
            addCriterion("uid >", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("uid >=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThan(Integer value) {
            addCriterion("uid <", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThanOrEqualTo(Integer value) {
            addCriterion("uid <=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidIn(List<Integer> values) {
            addCriterion("uid in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotIn(List<Integer> values) {
            addCriterion("uid not in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidBetween(Integer value1, Integer value2) {
            addCriterion("uid between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotBetween(Integer value1, Integer value2) {
            addCriterion("uid not between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andPositionIsNull() {
            addCriterion("position is null");
            return (Criteria) this;
        }

        public Criteria andPositionIsNotNull() {
            addCriterion("position is not null");
            return (Criteria) this;
        }

        public Criteria andPositionEqualTo(String value) {
            addCriterion("position =", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotEqualTo(String value) {
            addCriterion("position <>", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionGreaterThan(String value) {
            addCriterion("position >", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionGreaterThanOrEqualTo(String value) {
            addCriterion("position >=", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLessThan(String value) {
            addCriterion("position <", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLessThanOrEqualTo(String value) {
            addCriterion("position <=", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLike(String value) {
            addCriterion("position like", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotLike(String value) {
            addCriterion("position not like", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionIn(List<String> values) {
            addCriterion("position in", values, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotIn(List<String> values) {
            addCriterion("position not in", values, "position");
            return (Criteria) this;
        }

        public Criteria andPositionBetween(String value1, String value2) {
            addCriterion("position between", value1, value2, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotBetween(String value1, String value2) {
            addCriterion("position not between", value1, value2, "position");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(Byte value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(Byte value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(Byte value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(Byte value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(Byte value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<Byte> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<Byte> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(Byte value1, Byte value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(Byte value1, Byte value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andLngIsNull() {
            addCriterion("lng is null");
            return (Criteria) this;
        }

        public Criteria andLngIsNotNull() {
            addCriterion("lng is not null");
            return (Criteria) this;
        }

        public Criteria andLngEqualTo(Double value) {
            addCriterion("lng =", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngNotEqualTo(Double value) {
            addCriterion("lng <>", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngGreaterThan(Double value) {
            addCriterion("lng >", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngGreaterThanOrEqualTo(Double value) {
            addCriterion("lng >=", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngLessThan(Double value) {
            addCriterion("lng <", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngLessThanOrEqualTo(Double value) {
            addCriterion("lng <=", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngIn(List<Double> values) {
            addCriterion("lng in", values, "lng");
            return (Criteria) this;
        }

        public Criteria andLngNotIn(List<Double> values) {
            addCriterion("lng not in", values, "lng");
            return (Criteria) this;
        }

        public Criteria andLngBetween(Double value1, Double value2) {
            addCriterion("lng between", value1, value2, "lng");
            return (Criteria) this;
        }

        public Criteria andLngNotBetween(Double value1, Double value2) {
            addCriterion("lng not between", value1, value2, "lng");
            return (Criteria) this;
        }

        public Criteria andLatIsNull() {
            addCriterion("lat is null");
            return (Criteria) this;
        }

        public Criteria andLatIsNotNull() {
            addCriterion("lat is not null");
            return (Criteria) this;
        }

        public Criteria andLatEqualTo(Double value) {
            addCriterion("lat =", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotEqualTo(Double value) {
            addCriterion("lat <>", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatGreaterThan(Double value) {
            addCriterion("lat >", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatGreaterThanOrEqualTo(Double value) {
            addCriterion("lat >=", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatLessThan(Double value) {
            addCriterion("lat <", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatLessThanOrEqualTo(Double value) {
            addCriterion("lat <=", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatIn(List<Double> values) {
            addCriterion("lat in", values, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotIn(List<Double> values) {
            addCriterion("lat not in", values, "lat");
            return (Criteria) this;
        }

        public Criteria andLatBetween(Double value1, Double value2) {
            addCriterion("lat between", value1, value2, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotBetween(Double value1, Double value2) {
            addCriterion("lat not between", value1, value2, "lat");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Byte value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Byte value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Byte value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Byte value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Byte value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Byte> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Byte> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Byte value1, Byte value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andSumPraisesIsNull() {
            addCriterion("sum_praises is null");
            return (Criteria) this;
        }

        public Criteria andSumPraisesIsNotNull() {
            addCriterion("sum_praises is not null");
            return (Criteria) this;
        }

        public Criteria andSumPraisesEqualTo(Integer value) {
            addCriterion("sum_praises =", value, "sumPraises");
            return (Criteria) this;
        }

        public Criteria andSumPraisesNotEqualTo(Integer value) {
            addCriterion("sum_praises <>", value, "sumPraises");
            return (Criteria) this;
        }

        public Criteria andSumPraisesGreaterThan(Integer value) {
            addCriterion("sum_praises >", value, "sumPraises");
            return (Criteria) this;
        }

        public Criteria andSumPraisesGreaterThanOrEqualTo(Integer value) {
            addCriterion("sum_praises >=", value, "sumPraises");
            return (Criteria) this;
        }

        public Criteria andSumPraisesLessThan(Integer value) {
            addCriterion("sum_praises <", value, "sumPraises");
            return (Criteria) this;
        }

        public Criteria andSumPraisesLessThanOrEqualTo(Integer value) {
            addCriterion("sum_praises <=", value, "sumPraises");
            return (Criteria) this;
        }

        public Criteria andSumPraisesIn(List<Integer> values) {
            addCriterion("sum_praises in", values, "sumPraises");
            return (Criteria) this;
        }

        public Criteria andSumPraisesNotIn(List<Integer> values) {
            addCriterion("sum_praises not in", values, "sumPraises");
            return (Criteria) this;
        }

        public Criteria andSumPraisesBetween(Integer value1, Integer value2) {
            addCriterion("sum_praises between", value1, value2, "sumPraises");
            return (Criteria) this;
        }

        public Criteria andSumPraisesNotBetween(Integer value1, Integer value2) {
            addCriterion("sum_praises not between", value1, value2, "sumPraises");
            return (Criteria) this;
        }

        public Criteria andSumCommentsIsNull() {
            addCriterion("sum_comments is null");
            return (Criteria) this;
        }

        public Criteria andSumCommentsIsNotNull() {
            addCriterion("sum_comments is not null");
            return (Criteria) this;
        }

        public Criteria andSumCommentsEqualTo(Integer value) {
            addCriterion("sum_comments =", value, "sumComments");
            return (Criteria) this;
        }

        public Criteria andSumCommentsNotEqualTo(Integer value) {
            addCriterion("sum_comments <>", value, "sumComments");
            return (Criteria) this;
        }

        public Criteria andSumCommentsGreaterThan(Integer value) {
            addCriterion("sum_comments >", value, "sumComments");
            return (Criteria) this;
        }

        public Criteria andSumCommentsGreaterThanOrEqualTo(Integer value) {
            addCriterion("sum_comments >=", value, "sumComments");
            return (Criteria) this;
        }

        public Criteria andSumCommentsLessThan(Integer value) {
            addCriterion("sum_comments <", value, "sumComments");
            return (Criteria) this;
        }

        public Criteria andSumCommentsLessThanOrEqualTo(Integer value) {
            addCriterion("sum_comments <=", value, "sumComments");
            return (Criteria) this;
        }

        public Criteria andSumCommentsIn(List<Integer> values) {
            addCriterion("sum_comments in", values, "sumComments");
            return (Criteria) this;
        }

        public Criteria andSumCommentsNotIn(List<Integer> values) {
            addCriterion("sum_comments not in", values, "sumComments");
            return (Criteria) this;
        }

        public Criteria andSumCommentsBetween(Integer value1, Integer value2) {
            addCriterion("sum_comments between", value1, value2, "sumComments");
            return (Criteria) this;
        }

        public Criteria andSumCommentsNotBetween(Integer value1, Integer value2) {
            addCriterion("sum_comments not between", value1, value2, "sumComments");
            return (Criteria) this;
        }

        public Criteria andActivityIdIsNull() {
            addCriterion("activity_id is null");
            return (Criteria) this;
        }

        public Criteria andActivityIdIsNotNull() {
            addCriterion("activity_id is not null");
            return (Criteria) this;
        }

        public Criteria andActivityIdEqualTo(Integer value) {
            addCriterion("activity_id =", value, "activityId");
            return (Criteria) this;
        }

        public Criteria andActivityIdNotEqualTo(Integer value) {
            addCriterion("activity_id <>", value, "activityId");
            return (Criteria) this;
        }

        public Criteria andActivityIdGreaterThan(Integer value) {
            addCriterion("activity_id >", value, "activityId");
            return (Criteria) this;
        }

        public Criteria andActivityIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("activity_id >=", value, "activityId");
            return (Criteria) this;
        }

        public Criteria andActivityIdLessThan(Integer value) {
            addCriterion("activity_id <", value, "activityId");
            return (Criteria) this;
        }

        public Criteria andActivityIdLessThanOrEqualTo(Integer value) {
            addCriterion("activity_id <=", value, "activityId");
            return (Criteria) this;
        }

        public Criteria andActivityIdIn(List<Integer> values) {
            addCriterion("activity_id in", values, "activityId");
            return (Criteria) this;
        }

        public Criteria andActivityIdNotIn(List<Integer> values) {
            addCriterion("activity_id not in", values, "activityId");
            return (Criteria) this;
        }

        public Criteria andActivityIdBetween(Integer value1, Integer value2) {
            addCriterion("activity_id between", value1, value2, "activityId");
            return (Criteria) this;
        }

        public Criteria andActivityIdNotBetween(Integer value1, Integer value2) {
            addCriterion("activity_id not between", value1, value2, "activityId");
            return (Criteria) this;
        }

        public Criteria andActivityTitleIsNull() {
            addCriterion("activity_title is null");
            return (Criteria) this;
        }

        public Criteria andActivityTitleIsNotNull() {
            addCriterion("activity_title is not null");
            return (Criteria) this;
        }

        public Criteria andActivityTitleEqualTo(String value) {
            addCriterion("activity_title =", value, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleNotEqualTo(String value) {
            addCriterion("activity_title <>", value, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleGreaterThan(String value) {
            addCriterion("activity_title >", value, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleGreaterThanOrEqualTo(String value) {
            addCriterion("activity_title >=", value, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleLessThan(String value) {
            addCriterion("activity_title <", value, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleLessThanOrEqualTo(String value) {
            addCriterion("activity_title <=", value, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleLike(String value) {
            addCriterion("activity_title like", value, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleNotLike(String value) {
            addCriterion("activity_title not like", value, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleIn(List<String> values) {
            addCriterion("activity_title in", values, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleNotIn(List<String> values) {
            addCriterion("activity_title not in", values, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleBetween(String value1, String value2) {
            addCriterion("activity_title between", value1, value2, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andActivityTitleNotBetween(String value1, String value2) {
            addCriterion("activity_title not between", value1, value2, "activityTitle");
            return (Criteria) this;
        }

        public Criteria andContentIsNull() {
            addCriterion("content is null");
            return (Criteria) this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion("content is not null");
            return (Criteria) this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion("content =", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotEqualTo(String value) {
            addCriterion("content <>", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThan(String value) {
            addCriterion("content >", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion("content >=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThan(String value) {
            addCriterion("content <", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThanOrEqualTo(String value) {
            addCriterion("content <=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLike(String value) {
            addCriterion("content like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotLike(String value) {
            addCriterion("content not like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentIn(List<String> values) {
            addCriterion("content in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotIn(List<String> values) {
            addCriterion("content not in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentBetween(String value1, String value2) {
            addCriterion("content between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotBetween(String value1, String value2) {
            addCriterion("content not between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andIsVideoIsNull() {
            addCriterion("is_video is null");
            return (Criteria) this;
        }

        public Criteria andIsVideoIsNotNull() {
            addCriterion("is_video is not null");
            return (Criteria) this;
        }

        public Criteria andIsVideoEqualTo(Byte value) {
            addCriterion("is_video =", value, "isVideo");
            return (Criteria) this;
        }

        public Criteria andIsVideoNotEqualTo(Byte value) {
            addCriterion("is_video <>", value, "isVideo");
            return (Criteria) this;
        }

        public Criteria andIsVideoGreaterThan(Byte value) {
            addCriterion("is_video >", value, "isVideo");
            return (Criteria) this;
        }

        public Criteria andIsVideoGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_video >=", value, "isVideo");
            return (Criteria) this;
        }

        public Criteria andIsVideoLessThan(Byte value) {
            addCriterion("is_video <", value, "isVideo");
            return (Criteria) this;
        }

        public Criteria andIsVideoLessThanOrEqualTo(Byte value) {
            addCriterion("is_video <=", value, "isVideo");
            return (Criteria) this;
        }

        public Criteria andIsVideoIn(List<Byte> values) {
            addCriterion("is_video in", values, "isVideo");
            return (Criteria) this;
        }

        public Criteria andIsVideoNotIn(List<Byte> values) {
            addCriterion("is_video not in", values, "isVideo");
            return (Criteria) this;
        }

        public Criteria andIsVideoBetween(Byte value1, Byte value2) {
            addCriterion("is_video between", value1, value2, "isVideo");
            return (Criteria) this;
        }

        public Criteria andIsVideoNotBetween(Byte value1, Byte value2) {
            addCriterion("is_video not between", value1, value2, "isVideo");
            return (Criteria) this;
        }

        public Criteria andTopicIdIsNull() {
            addCriterion("topic_id is null");
            return (Criteria) this;
        }

        public Criteria andTopicIdIsNotNull() {
            addCriterion("topic_id is not null");
            return (Criteria) this;
        }

        public Criteria andTopicIdEqualTo(Integer value) {
            addCriterion("topic_id =", value, "topicId");
            return (Criteria) this;
        }

        public Criteria andTopicIdNotEqualTo(Integer value) {
            addCriterion("topic_id <>", value, "topicId");
            return (Criteria) this;
        }

        public Criteria andTopicIdGreaterThan(Integer value) {
            addCriterion("topic_id >", value, "topicId");
            return (Criteria) this;
        }

        public Criteria andTopicIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("topic_id >=", value, "topicId");
            return (Criteria) this;
        }

        public Criteria andTopicIdLessThan(Integer value) {
            addCriterion("topic_id <", value, "topicId");
            return (Criteria) this;
        }

        public Criteria andTopicIdLessThanOrEqualTo(Integer value) {
            addCriterion("topic_id <=", value, "topicId");
            return (Criteria) this;
        }

        public Criteria andTopicIdIn(List<Integer> values) {
            addCriterion("topic_id in", values, "topicId");
            return (Criteria) this;
        }

        public Criteria andTopicIdNotIn(List<Integer> values) {
            addCriterion("topic_id not in", values, "topicId");
            return (Criteria) this;
        }

        public Criteria andTopicIdBetween(Integer value1, Integer value2) {
            addCriterion("topic_id between", value1, value2, "topicId");
            return (Criteria) this;
        }

        public Criteria andTopicIdNotBetween(Integer value1, Integer value2) {
            addCriterion("topic_id not between", value1, value2, "topicId");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgIsNull() {
            addCriterion("choice_flg is null");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgIsNotNull() {
            addCriterion("choice_flg is not null");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgEqualTo(Byte value) {
            addCriterion("choice_flg =", value, "choiceFlg");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgNotEqualTo(Byte value) {
            addCriterion("choice_flg <>", value, "choiceFlg");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgGreaterThan(Byte value) {
            addCriterion("choice_flg >", value, "choiceFlg");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgGreaterThanOrEqualTo(Byte value) {
            addCriterion("choice_flg >=", value, "choiceFlg");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgLessThan(Byte value) {
            addCriterion("choice_flg <", value, "choiceFlg");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgLessThanOrEqualTo(Byte value) {
            addCriterion("choice_flg <=", value, "choiceFlg");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgIn(List<Byte> values) {
            addCriterion("choice_flg in", values, "choiceFlg");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgNotIn(List<Byte> values) {
            addCriterion("choice_flg not in", values, "choiceFlg");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgBetween(Byte value1, Byte value2) {
            addCriterion("choice_flg between", value1, value2, "choiceFlg");
            return (Criteria) this;
        }

        public Criteria andChoiceFlgNotBetween(Byte value1, Byte value2) {
            addCriterion("choice_flg not between", value1, value2, "choiceFlg");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeIsNull() {
            addCriterion("choice_time is null");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeIsNotNull() {
            addCriterion("choice_time is not null");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeEqualTo(Date value) {
            addCriterion("choice_time =", value, "choiceTime");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeNotEqualTo(Date value) {
            addCriterion("choice_time <>", value, "choiceTime");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeGreaterThan(Date value) {
            addCriterion("choice_time >", value, "choiceTime");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("choice_time >=", value, "choiceTime");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeLessThan(Date value) {
            addCriterion("choice_time <", value, "choiceTime");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeLessThanOrEqualTo(Date value) {
            addCriterion("choice_time <=", value, "choiceTime");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeIn(List<Date> values) {
            addCriterion("choice_time in", values, "choiceTime");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeNotIn(List<Date> values) {
            addCriterion("choice_time not in", values, "choiceTime");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeBetween(Date value1, Date value2) {
            addCriterion("choice_time between", value1, value2, "choiceTime");
            return (Criteria) this;
        }

        public Criteria andChoiceTimeNotBetween(Date value1, Date value2) {
            addCriterion("choice_time not between", value1, value2, "choiceTime");
            return (Criteria) this;
        }

        public Criteria andInterestIdIsNull() {
            addCriterion("interest_id is null");
            return (Criteria) this;
        }

        public Criteria andInterestIdIsNotNull() {
            addCriterion("interest_id is not null");
            return (Criteria) this;
        }

        public Criteria andInterestIdEqualTo(Byte value) {
            addCriterion("interest_id =", value, "interestId");
            return (Criteria) this;
        }

        public Criteria andInterestIdNotEqualTo(Byte value) {
            addCriterion("interest_id <>", value, "interestId");
            return (Criteria) this;
        }

        public Criteria andInterestIdGreaterThan(Byte value) {
            addCriterion("interest_id >", value, "interestId");
            return (Criteria) this;
        }

        public Criteria andInterestIdGreaterThanOrEqualTo(Byte value) {
            addCriterion("interest_id >=", value, "interestId");
            return (Criteria) this;
        }

        public Criteria andInterestIdLessThan(Byte value) {
            addCriterion("interest_id <", value, "interestId");
            return (Criteria) this;
        }

        public Criteria andInterestIdLessThanOrEqualTo(Byte value) {
            addCriterion("interest_id <=", value, "interestId");
            return (Criteria) this;
        }

        public Criteria andInterestIdIn(List<Byte> values) {
            addCriterion("interest_id in", values, "interestId");
            return (Criteria) this;
        }

        public Criteria andInterestIdNotIn(List<Byte> values) {
            addCriterion("interest_id not in", values, "interestId");
            return (Criteria) this;
        }

        public Criteria andInterestIdBetween(Byte value1, Byte value2) {
            addCriterion("interest_id between", value1, value2, "interestId");
            return (Criteria) this;
        }

        public Criteria andInterestIdNotBetween(Byte value1, Byte value2) {
            addCriterion("interest_id not between", value1, value2, "interestId");
            return (Criteria) this;
        }

        public Criteria andCityIdIsNull() {
            addCriterion("city_id is null");
            return (Criteria) this;
        }

        public Criteria andCityIdIsNotNull() {
            addCriterion("city_id is not null");
            return (Criteria) this;
        }

        public Criteria andCityIdEqualTo(Integer value) {
            addCriterion("city_id =", value, "cityId");
            return (Criteria) this;
        }

        public Criteria andCityIdNotEqualTo(Integer value) {
            addCriterion("city_id <>", value, "cityId");
            return (Criteria) this;
        }

        public Criteria andCityIdGreaterThan(Integer value) {
            addCriterion("city_id >", value, "cityId");
            return (Criteria) this;
        }

        public Criteria andCityIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("city_id >=", value, "cityId");
            return (Criteria) this;
        }

        public Criteria andCityIdLessThan(Integer value) {
            addCriterion("city_id <", value, "cityId");
            return (Criteria) this;
        }

        public Criteria andCityIdLessThanOrEqualTo(Integer value) {
            addCriterion("city_id <=", value, "cityId");
            return (Criteria) this;
        }

        public Criteria andCityIdIn(List<Integer> values) {
            addCriterion("city_id in", values, "cityId");
            return (Criteria) this;
        }

        public Criteria andCityIdNotIn(List<Integer> values) {
            addCriterion("city_id not in", values, "cityId");
            return (Criteria) this;
        }

        public Criteria andCityIdBetween(Integer value1, Integer value2) {
            addCriterion("city_id between", value1, value2, "cityId");
            return (Criteria) this;
        }

        public Criteria andCityIdNotBetween(Integer value1, Integer value2) {
            addCriterion("city_id not between", value1, value2, "cityId");
            return (Criteria) this;
        }

        public Criteria andReadCntIsNull() {
            addCriterion("read_cnt is null");
            return (Criteria) this;
        }

        public Criteria andReadCntIsNotNull() {
            addCriterion("read_cnt is not null");
            return (Criteria) this;
        }

        public Criteria andReadCntEqualTo(Integer value) {
            addCriterion("read_cnt =", value, "readCnt");
            return (Criteria) this;
        }

        public Criteria andReadCntNotEqualTo(Integer value) {
            addCriterion("read_cnt <>", value, "readCnt");
            return (Criteria) this;
        }

        public Criteria andReadCntGreaterThan(Integer value) {
            addCriterion("read_cnt >", value, "readCnt");
            return (Criteria) this;
        }

        public Criteria andReadCntGreaterThanOrEqualTo(Integer value) {
            addCriterion("read_cnt >=", value, "readCnt");
            return (Criteria) this;
        }

        public Criteria andReadCntLessThan(Integer value) {
            addCriterion("read_cnt <", value, "readCnt");
            return (Criteria) this;
        }

        public Criteria andReadCntLessThanOrEqualTo(Integer value) {
            addCriterion("read_cnt <=", value, "readCnt");
            return (Criteria) this;
        }

        public Criteria andReadCntIn(List<Integer> values) {
            addCriterion("read_cnt in", values, "readCnt");
            return (Criteria) this;
        }

        public Criteria andReadCntNotIn(List<Integer> values) {
            addCriterion("read_cnt not in", values, "readCnt");
            return (Criteria) this;
        }

        public Criteria andReadCntBetween(Integer value1, Integer value2) {
            addCriterion("read_cnt between", value1, value2, "readCnt");
            return (Criteria) this;
        }

        public Criteria andReadCntNotBetween(Integer value1, Integer value2) {
            addCriterion("read_cnt not between", value1, value2, "readCnt");
            return (Criteria) this;
        }

        public Criteria andRecommFlgIsNull() {
            addCriterion("recomm_flg is null");
            return (Criteria) this;
        }

        public Criteria andRecommFlgIsNotNull() {
            addCriterion("recomm_flg is not null");
            return (Criteria) this;
        }

        public Criteria andRecommFlgEqualTo(Byte value) {
            addCriterion("recomm_flg =", value, "recommFlg");
            return (Criteria) this;
        }

        public Criteria andRecommFlgNotEqualTo(Byte value) {
            addCriterion("recomm_flg <>", value, "recommFlg");
            return (Criteria) this;
        }

        public Criteria andRecommFlgGreaterThan(Byte value) {
            addCriterion("recomm_flg >", value, "recommFlg");
            return (Criteria) this;
        }

        public Criteria andRecommFlgGreaterThanOrEqualTo(Byte value) {
            addCriterion("recomm_flg >=", value, "recommFlg");
            return (Criteria) this;
        }

        public Criteria andRecommFlgLessThan(Byte value) {
            addCriterion("recomm_flg <", value, "recommFlg");
            return (Criteria) this;
        }

        public Criteria andRecommFlgLessThanOrEqualTo(Byte value) {
            addCriterion("recomm_flg <=", value, "recommFlg");
            return (Criteria) this;
        }

        public Criteria andRecommFlgIn(List<Byte> values) {
            addCriterion("recomm_flg in", values, "recommFlg");
            return (Criteria) this;
        }

        public Criteria andRecommFlgNotIn(List<Byte> values) {
            addCriterion("recomm_flg not in", values, "recommFlg");
            return (Criteria) this;
        }

        public Criteria andRecommFlgBetween(Byte value1, Byte value2) {
            addCriterion("recomm_flg between", value1, value2, "recommFlg");
            return (Criteria) this;
        }

        public Criteria andRecommFlgNotBetween(Byte value1, Byte value2) {
            addCriterion("recomm_flg not between", value1, value2, "recommFlg");
            return (Criteria) this;
        }

        public Criteria andLabelIsNull() {
            addCriterion("label is null");
            return (Criteria) this;
        }

        public Criteria andLabelIsNotNull() {
            addCriterion("label is not null");
            return (Criteria) this;
        }

        public Criteria andLabelEqualTo(String value) {
            addCriterion("label =", value, "label");
            return (Criteria) this;
        }

        public Criteria andLabelNotEqualTo(String value) {
            addCriterion("label <>", value, "label");
            return (Criteria) this;
        }

        public Criteria andLabelGreaterThan(String value) {
            addCriterion("label >", value, "label");
            return (Criteria) this;
        }

        public Criteria andLabelGreaterThanOrEqualTo(String value) {
            addCriterion("label >=", value, "label");
            return (Criteria) this;
        }

        public Criteria andLabelLessThan(String value) {
            addCriterion("label <", value, "label");
            return (Criteria) this;
        }

        public Criteria andLabelLessThanOrEqualTo(String value) {
            addCriterion("label <=", value, "label");
            return (Criteria) this;
        }

        public Criteria andLabelLike(String value) {
            addCriterion("label like", value, "label");
            return (Criteria) this;
        }

        public Criteria andLabelNotLike(String value) {
            addCriterion("label not like", value, "label");
            return (Criteria) this;
        }

        public Criteria andLabelIn(List<String> values) {
            addCriterion("label in", values, "label");
            return (Criteria) this;
        }

        public Criteria andLabelNotIn(List<String> values) {
            addCriterion("label not in", values, "label");
            return (Criteria) this;
        }

        public Criteria andLabelBetween(String value1, String value2) {
            addCriterion("label between", value1, value2, "label");
            return (Criteria) this;
        }

        public Criteria andLabelNotBetween(String value1, String value2) {
            addCriterion("label not between", value1, value2, "label");
            return (Criteria) this;
        }

        public Criteria andSeqIsNull() {
            addCriterion("seq is null");
            return (Criteria) this;
        }

        public Criteria andSeqIsNotNull() {
            addCriterion("seq is not null");
            return (Criteria) this;
        }

        public Criteria andSeqEqualTo(Integer value) {
            addCriterion("seq =", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqNotEqualTo(Integer value) {
            addCriterion("seq <>", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqGreaterThan(Integer value) {
            addCriterion("seq >", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqGreaterThanOrEqualTo(Integer value) {
            addCriterion("seq >=", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqLessThan(Integer value) {
            addCriterion("seq <", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqLessThanOrEqualTo(Integer value) {
            addCriterion("seq <=", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqIn(List<Integer> values) {
            addCriterion("seq in", values, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqNotIn(List<Integer> values) {
            addCriterion("seq not in", values, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqBetween(Integer value1, Integer value2) {
            addCriterion("seq between", value1, value2, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqNotBetween(Integer value1, Integer value2) {
            addCriterion("seq not between", value1, value2, "seq");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopIsNull() {
            addCriterion("topic_news_settop is null");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopIsNotNull() {
            addCriterion("topic_news_settop is not null");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopEqualTo(Byte value) {
            addCriterion("topic_news_settop =", value, "topicNewsSettop");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopNotEqualTo(Byte value) {
            addCriterion("topic_news_settop <>", value, "topicNewsSettop");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopGreaterThan(Byte value) {
            addCriterion("topic_news_settop >", value, "topicNewsSettop");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopGreaterThanOrEqualTo(Byte value) {
            addCriterion("topic_news_settop >=", value, "topicNewsSettop");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopLessThan(Byte value) {
            addCriterion("topic_news_settop <", value, "topicNewsSettop");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopLessThanOrEqualTo(Byte value) {
            addCriterion("topic_news_settop <=", value, "topicNewsSettop");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopIn(List<Byte> values) {
            addCriterion("topic_news_settop in", values, "topicNewsSettop");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopNotIn(List<Byte> values) {
            addCriterion("topic_news_settop not in", values, "topicNewsSettop");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopBetween(Byte value1, Byte value2) {
            addCriterion("topic_news_settop between", value1, value2, "topicNewsSettop");
            return (Criteria) this;
        }

        public Criteria andTopicNewsSettopNotBetween(Byte value1, Byte value2) {
            addCriterion("topic_news_settop not between", value1, value2, "topicNewsSettop");
            return (Criteria) this;
        }

        public Criteria andClubIdIsNull() {
            addCriterion("club_id is null");
            return (Criteria) this;
        }

        public Criteria andClubIdIsNotNull() {
            addCriterion("club_id is not null");
            return (Criteria) this;
        }

        public Criteria andClubIdEqualTo(Integer value) {
            addCriterion("club_id =", value, "clubId");
            return (Criteria) this;
        }

        public Criteria andClubIdNotEqualTo(Integer value) {
            addCriterion("club_id <>", value, "clubId");
            return (Criteria) this;
        }

        public Criteria andClubIdGreaterThan(Integer value) {
            addCriterion("club_id >", value, "clubId");
            return (Criteria) this;
        }

        public Criteria andClubIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("club_id >=", value, "clubId");
            return (Criteria) this;
        }

        public Criteria andClubIdLessThan(Integer value) {
            addCriterion("club_id <", value, "clubId");
            return (Criteria) this;
        }

        public Criteria andClubIdLessThanOrEqualTo(Integer value) {
            addCriterion("club_id <=", value, "clubId");
            return (Criteria) this;
        }

        public Criteria andClubIdIn(List<Integer> values) {
            addCriterion("club_id in", values, "clubId");
            return (Criteria) this;
        }

        public Criteria andClubIdNotIn(List<Integer> values) {
            addCriterion("club_id not in", values, "clubId");
            return (Criteria) this;
        }

        public Criteria andClubIdBetween(Integer value1, Integer value2) {
            addCriterion("club_id between", value1, value2, "clubId");
            return (Criteria) this;
        }

        public Criteria andClubIdNotBetween(Integer value1, Integer value2) {
            addCriterion("club_id not between", value1, value2, "clubId");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeIsNull() {
            addCriterion("release_type is null");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeIsNotNull() {
            addCriterion("release_type is not null");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeEqualTo(Byte value) {
            addCriterion("release_type =", value, "releaseType");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeNotEqualTo(Byte value) {
            addCriterion("release_type <>", value, "releaseType");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeGreaterThan(Byte value) {
            addCriterion("release_type >", value, "releaseType");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("release_type >=", value, "releaseType");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeLessThan(Byte value) {
            addCriterion("release_type <", value, "releaseType");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeLessThanOrEqualTo(Byte value) {
            addCriterion("release_type <=", value, "releaseType");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeIn(List<Byte> values) {
            addCriterion("release_type in", values, "releaseType");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeNotIn(List<Byte> values) {
            addCriterion("release_type not in", values, "releaseType");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeBetween(Byte value1, Byte value2) {
            addCriterion("release_type between", value1, value2, "releaseType");
            return (Criteria) this;
        }

        public Criteria andReleaseTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("release_type not between", value1, value2, "releaseType");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}